// Copyright (c) 2007 Robin Boerdijk. All rights reserved.
//
// This software is licensed under the terms of the Microsoft Reciprocal License as described 
// in the file LICENSE.txt, which you should have received as part of this distribution. The 
// license terms are also available at http://www.opensource.org/licenses/ms-rl.html.

#ifndef demo_MenuBar_h_included
#define demo_MenuBar_h_included

#include "wtk/Menu.h"
#include "wtk/SubMenu.h"
#include "wtk/MenuCommand.h"

namespace demo
{
	class MenuBar : public wtk::Menu
	{
	public:

		class FileMenu : public wtk::SubMenu
		{
		public:

			FileMenu(MenuBar *menuBar);

			wtk::MenuCommand New;
			wtk::MenuCommand Open;
			wtk::MenuCommand SaveAll;

			wtk::MenuCommand Exit;
		};

		class EditMenu : public wtk::SubMenu
		{
		public:

			EditMenu(MenuBar *menuBar);

			wtk::MenuCommand Undo;
			wtk::MenuCommand Redo;

			wtk::MenuCommand Cut;
			wtk::MenuCommand Copy;
			wtk::MenuCommand Paste;
		};

		class ViewMenu : public wtk::SubMenu
		{
		public:

			ViewMenu(MenuBar *menuBar);
		};

		class ToolsMenu : public wtk::SubMenu
		{
		public:

			ToolsMenu(MenuBar *menuBar);

			wtk::MenuCommand Calculator;
		};

		class WindowMenu : public wtk::SubMenu
		{
		public:

			WindowMenu(MenuBar *menuBar);
		};

		class HelpMenu : public wtk::SubMenu
		{
		public:

			HelpMenu(MenuBar *menuBar);

			wtk::MenuCommand About;
		};

		MenuBar();

		FileMenu FileMenu;
		EditMenu EditMenu;
		ViewMenu ViewMenu;
		ToolsMenu ToolsMenu;
		WindowMenu WindowMenu;
		HelpMenu HelpMenu;
	};
}

#endif